package com.boatAnchorAssistant.service.service.in;

import nirvana.core.domains.vo.PageResult;
import com.boatAnchorAssistant.pojo.param.alarmCause.*;
import com.boatAnchorAssistant.pojo.vo.alarmCause.*;

import java.util.List;


/**
 * 【描 述】：报警原因服务
 * 【环 境】：J2SE
 * 【详 细】：
 */
public interface AlarmCauseService {

    /**
     * 创建报警原因
     *
     * @param param
     */
    void createAlarmCause(CreateAlarmCauseParam param);

    /**
     * 修改报警原因
     *
     * @param param
     */
    void editAlarmCause(EditAlarmCauseParam param);

    /**
     * 移除报警原因
     *
     * @param id
     */
    void removeAlarmCause(Long id);

    /**
     * 启动/禁用报警原因
     *
     * @param id
     */
    void enabledAlarmCause(Long id);

    /**
     * 获取报警原因详情
     *
     * @param id
     * @return
     */
    GetAlarmCauseVo getAlarmCause(Long id);

    /**
     * 获取报警原因列表
     *
     * @param param
     * @return
     */
    PageResult<GetAlarmCauseListVo> getAlarmCauseList(GetAlarmCauseListParam param);


    /**
     * 获取报警原因下拉列表
     *
     * @param param
     * @return
     */
    List<GetAlarmCauseDownListVo> getAlarmCauseDownList(GetAlarmCauseDownListParam param);


}